<template>
  <div>
    <helloCom :name="'张三'" :age="20" :list="list" @sendName="getName" @sendId="getId"></helloCom>
  </div>
</template>

<script setup lang="ts">
import {ref} from 'vue'
import helloCom from '@/views/hello/index.vue'
let list=ref([
  {color:"red",price:188},
  {color:"blue",price:199}
])
  // ts的泛型 的使用
  // ts的泛型 可以理解为类型变量 让类型动态
  // 不使用泛型  形参 返回值等 只能使用一个类型
  // function run(name:string|number,age:number){
  // }
// 泛型的形参 在函数名后面<T,U,V> 代表类型形参
  function say<T,U>(name:T,age:U):U{
      let mm=ref<T>()
      console.log(name,"-----")
      console.log(age,"-----")
      return age
  }
  // 泛型的实参 在调用函数的时候传入 在函数名的后面用<>
  say<string,number>("张三",18)
  say<boolean,number[]>(true,[1,2,3])

  
let getName=(name:string)=>{
  console.log(name)
}
let getId=(id:number)=>{
    console.log(id)
}




</script>